<%@ page language="java" contentType="text/html; charset=UTF-8"
         pageEncoding="UTF-8" %>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<c:set var="contextPath" value="${pageContext.request.contextPath}"></c:set>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta charset=UTF-8"">
<title>出入库明细报表</title>
<link rel="stylesheet" href="${contextPath}/static/statistics/css/bootstrap.min.css" />
<link rel="stylesheet" href="${contextPath}/static/bootstrap/css/bootstrap-table.css" />
<link rel="stylesheet" href="${contextPath}/static/ace/assets/css/ace.css" />
<link rel="stylesheet" href="${contextPath}/static/bootstrap/css/bootstrap-select.css" />
<link rel="stylesheet" href="${contextPath}/static/statistics/css/combo.select.css" />
<link rel="stylesheet" href="${contextPath}/static/statistics/css/bootstrap-datetimepicker.min.css" />
<link rel="stylesheet" href="${contextPath}/static/ztree/css/zTreeStyle.css" />
<script src="${contextPath}/static/statistics/js/jquery.js"></script>
<script src="${contextPath}/static/statistics/js/bootstrap.min.js"></script>
<script src="${contextPath}/static/bootstrap/js/bootstrap-table.js"></script>
<script src="${contextPath}/static/bootstrap/js/bootstrap-select.min.js"></script>
<script src="${contextPath}/static/statistics/js/jquery.combo.select.js"></script>
<script src="${contextPath}/static/bootstrap/js/defaults-zh_CN.min.js"></script>
<script src="${contextPath}/static/bootstrap/js/bootstrap-table-zh-CN.js"></script>
<script src="${contextPath}/static/statistics/js/bootstrap-datetimepicker.min.js"></script>
<script src="${contextPath}/static/statistics/js/bootstrap-datetimepicker.fr.js"></script>
<script src="${contextPath}/static/statistics/js/bootstrap-datetimepicker.zh-CN.js"></script>
<script src="${contextPath}/static/ztree/js/jquery.ztree.core-3.5.js"></script>
<script src="${contextPath}/static/ztree/js/jquery.ztree.excheck-3.5.js"></script>
<script src="${contextPath}/static/util/dateutils.js"></script>
<script src="${contextPath}/static/util/protutils.js"></script>
<style type="text/css">
	input.combo-input{
		padding:7px 4px; 
	}
	.panel{
		margin-bottom:0px;	
	}
	.bs-actionsbox .btn-group button {
	    width: 45%;
	}
	.bootstrap-select:not([class*="col-"]):not([class*="form-control"]):not(.input-group-btn) {
	    width: 100%;
	}
	.list-group-item{
		padding:5px 6px;
		font-size:11px;
	}
	#zoneCode .list-group .list-group-item:first-child{
		padding:7px 6px;
	}
	.panel-heading::after {
	    content: "";
	    display: block;
	    clear: both;
	}
	.caret{
		color:#ABBAC3;
	}
	.bootstrap-select > .btn{
		color:#ABBAC3 !important;
		background-color: #fff !important;
		text-shadow:none;
		border-width:1px;
	}
	.bootstrap-select > .btn:hover, .bootstrap-select > .btn:focus:hover, .bootstrap-select > .btn.focus:hover, .bootstrap-select > .btn:active:hover, .bootstrap-select > .btn:focus:active, .btn-default:focus:active, .open > .btn.dropdown-toggle, .open > .btn-default.dropdown-toggle, .open > .btn.dropdown-toggle:hover, .open > .btn-default.dropdown-toggle:hover, .open > .btn.dropdown-toggle:focus, .open > .btn-default.dropdown-toggle:focus, .open > .btn.dropdown-toggle.focus, .open > .btn-default.dropdown-toggle.focus, .open > .btn.dropdown-toggle:active, .open > .btn-default.dropdown-toggle:active {
	    background-color: #fff !important;
	    border-color: #ABBAC3;
	}
	.fixed-table-footer{
	    overflow: auto;
	}
	.dropdown-header{
		cursor:pointer;
	}		
</style>
</head>
<body>
 <div class="panel panel-default">
 <div class="panel-heading">
 				<h3 class="panel-title pull-left" style="text-shadow:2px 1px 2px #ABBAC3">出入库明细报表</h3>
 				<h5 class="pull-right" id="timeCount" style="margin-top: 0;margin-bottom: 0;"></h5>
 			</div>
            <div class="panel-body">
                <form class="form-horizontal" class="form-inline" style="margin-bottom: 5px;"
				action="${contextPath}/ktcount/exportExcelInOutInfo" method="post" id="exportExcel">
					<input id="sortName" name="sortName" type="hidden" value="SUPPLIER_NAME" />
					<input id="sortOrder" name="sortOrder" type="hidden" value="asc">
                    <div class="form-group">
                    	<div class="col-sm-2">
                            <input type="text" class="form-control" id="productCode" name="productCode" placeholder="请输入条码">
                        </div>
                        <div class="col-sm-2">
                            <input type="text" class="form-control" id="productName" name="productName" placeholder="请输入商品名称">
                        </div>
                       <div class="col-sm-2">
                        	<div class="input-group ">
                        		<input id="typeName" class="form-control" placeholder="选择商品类型" readonly/>
                        		<input id="typeId" name="prodType" type="hidden" />
                        		<input id="foreTypeName" name="foreTypeName" type="hidden" />
	                        	<span class="input-group-btn">
		                        	<div class="btn btn-primary btn-sm" onclick="javascript:$('#typeModal').modal('show');">
										选择
									</div>
	                        	</span>
                        	</div>
                        		                
						</div>
                        <div class="col-sm-2">
                            <select class="selectpicker" multiple data-live-search="true" title="选择供应商名称" data-live-search-placeholder="搜索" data-actions-box="true" id="supplierName" >
							</select>
							<input type="hidden" name="supplierName" id="suppliername" />
                        </div>
                        <div class="col-sm-2">
                            <select class="form-control" id="type" multiple data-live-search="true" title="请选择业务类型" data-live-search-placeholder="搜索" data-actions-box="true" >
								<option value="1">仓库返仓单</option>
								<option value="2">仓配入库单</option>
								<option value="3">直配入库单</option>
								<option value="4">统采入库单</option>
								<option value="5">调拨返仓单</option>
								<option value="6">调拨入库单</option>
								<option value="7">仓配退货入库单</option>
								<option value="8">直配退货入库单</option>
								<option value="9">统采退货入库单</option>
								<option value="10">移动调库单</option>
								<option value="11">移动入库单</option>
								<option value="20">仓配补货单</option>
								<option value="21">仓配出库单</option>
								<option value="22">统采退货单</option>
								<option value="23">调拨补货单</option>
								<option value="24">调拨出库单</option>
								<option value="25">直配退货单</option>
								<option value="26">仓配退货出库单</option>
								<option value="27">直配退货出库单</option>
								<option value="28">统采退货出库单</option>
								<option value="40">销售数据</option>
								<option value="100">其他</option>
							</select>
							<input type="hidden" name="type" id="ntype" />
                        </div>
                        <div class="col-sm-2">
                            <input type="text" class="form-control" id="helpCode" name="helpCode" placeholder="助记码">
                        </div>
                    </div>
                    <div class="form-group">
                    	<div class="col-sm-2">
                            <input type="text" class="form-control" id="PCH" name="PCH" placeholder="请输入批次号">
                        </div>
                        
                        <div class="col-sm-3">
                        	<div class="input-group ">
                        		<input id="areaName" name="areaName" class="form-control" placeholder="选择区域" readonly />
                        		<input id="areaCode" name="areaCode" type="hidden" />
	                        	<span class="input-group-btn">
		                        	<div class="btn btn-primary btn-sm" onclick="javascript:$('#areaModal').modal('show');">
										选择
									</div>
	                        	</span>
                        	</div>
                               
						</div>
						<div class="col-sm-2">
                            <select class="selectpicker form-control" multiple data-live-search="true" tite="请选择店铺名称" data-live-search-placeholder="搜索" data-actions-box="true" id="shopName">
								<optgroup label="直营" data-icon="glyphicon-ok">
									<c:forEach items="${shopnames}" var="shopname">
										<c:if test="${shopname.shopType=='直营'}">
											<option value="${shopname.shopId}">${shopname.shopName}</option>
										</c:if>
									</c:forEach>
								</optgroup>
								<optgroup label="加盟" data-icon="glyphicon-ok">
									<c:forEach items="${shopnames}" var="shopname">
										<c:if test="${shopname.shopType=='加盟'}">
											<option value="${shopname.shopId}">${shopname.shopName}</option>
										</c:if>
									</c:forEach>
								</optgroup>
							</select>
							<input type="hidden" name="shopName" id="shopname" />
							<input type="hidden" name="shopIdName" id="shopIdName" />
                        </div>
                        <div class="col-sm-2">
                        	<label class="radio-inline">
						        <input type="radio" name="tbRadio" value="0" checked /> 包
						    </label>
							<label class="radio-inline">
						        <input type="radio" name="tbRadio" value="1" /> 条
						    </label>
                        </div>
                    </div>
                    <div class="form-group">
                    	<div class="col-sm-2">
                            <input type="text" class="form-control" id="turnCreateDate" name="turnCreateDate" placeholder="查询开始时间" readonly />
                        </div>
                        <div class="col-sm-2">
							<input type="text" class="form-control" id="bindCreateDate" name="bindCreateDate" placeholder="查询结束时间" readonly />
                        </div>
                        
                        <div class="col-sm-7">
                        	<label class="radio-inline">
						        <input type="radio" name="dateRadio" id="dateRadio0" checked> 自定
						    </label>
							<label class="radio-inline">
						        <input type="radio" name="dateRadio" id="dateRadio1" > 今天
						    </label>
						    <label class="radio-inline">
						        <input type="radio" name="dateRadio" id="dateRadio2" > 昨天
						    </label>
						    <label class="radio-inline">
						        <input type="radio" name="dateRadio" id="dateRadio3" > 本周
						    </label>
						    <label class="radio-inline">
						        <input type="radio" name="dateRadio" id="dateRadio4" > 上周
						    </label>
						    <label class="radio-inline">
						        <input type="radio" name="dateRadio" id="dateRadio5" > 本月
						    </label>
						    <label class="radio-inline">
						        <input type="radio" name="dateRadio" id="dateRadio6" > 上月
						    </label>
						    <label class="radio-inline">
						        <input type="radio" name="dateRadio" id="dateRadio7" > 本季度
						    </label>
						    <label class="radio-inline">
						        <input type="radio" name="dateRadio" id="dateRadio8" > 上季度
						    </label>
						    <label class="radio-inline">
						        <input type="radio" name="dateRadio" id="dateRadio9" > 今年
						    </label>
						    
                        </div>
                        <div class="col-sm-1" style="text-align:left;">
                            <button type="button"  id="btn_query" class="btn btn-sm btn-info">查询</button>
                        </div>
                    </div>
                    <input type="hidden" id="colsTitles" name="colsTitles" />
                    <input type="hidden" id="colsFields" name="colsFields" />
                </form>
            </div>
        </div>      
 <div id="toolbar" class="btn-group" style="margin-left:15px">
 			<button id="btn_refresh" type="button" class="btn btn-sm btn-warning">
                <span class="glyphicon glyphicon-refresh icon-refresh" aria-hidden="true"></span>刷新
            </button>
            <button onclick="exportExcel();" type="button" class="btn btn-sm btn-success">
                <span class="glyphicon glyphicon-file" aria-hidden="true"></span>导出
            </button>
            <button onclick="doPrint();" type="button" class="btn btn-sm btn-default">
                <span class="glyphicon glyphicon-print" aria-hidden="true"></span>打印
            </button>
            <button onclick="selectAll();" type="button" class="btn btn-sm btn-primary">
				全选
            </button>
            <button onclick="unSelectAll();" type="button" class="btn btn-sm btn-primary">
            	不选
            </button>
            <button type="button" class="btn btn-sm btn-success"
				onclick="javascript:window.history.go(-2);window.close();">
				<span class="glyphicon glyphicon-arrow-left" aria-hidden="true"></span>返回</button>
        </div>         
       <!--startprint--> 
		<table id="kt_InOut"></table>
		<!--endprint-->
			<div id="areaModal" class="modal fade" tabindex="-1" role="dialog" aria-labelledby="areaModalLabel" aria-hidden="true">
	<div class="modal-dialog">
		<div class="modal-content">
			<div class="modal-header">
				<button type="button" class="close" data-dismiss="modal" aria-hidden="true">
					&times;
				</button>
				<h4 class="modal-title" id="areaModalLabel">
					选择区域
				</h4>
			</div>
			<div class="modal-body">
				<ul id="areatree" class="ztree">
				</ul>
			</div>
			<div class="modal-footer">
				<button type="button" class="btn btn-primary" onclick="javascript:selectedAreas()">
					确认
				</button>
				<button type="button" class="btn btn-default" data-dismiss="modal">取消
				</button>
			</div>
		</div><!-- /.modal-content -->
	</div><!-- /.modal -->
	</div>
			<div id="typeModal" class="modal fade" tabindex="-1" role="dialog" aria-labelledby="typeModalLabel" aria-hidden="true">
		<div class="modal-dialog">
			<div class="modal-content">
				<div class="modal-header">
					<button type="button" class="close" data-dismiss="modal" aria-hidden="true">
						&times;
					</button>
					<h4 class="modal-title" id="typeModalLabel">
						选择商品类型
					</h4>
				</div>
				<div class="modal-body">
					<ul id="typetree" class="ztree">
					</ul>
				</div>
				<div class="modal-footer">
					<button type="button" class="btn btn-primary" onclick="javascript:selectedTypes()">
						确认
					</button>
					<button type="button" class="btn btn-default" data-dismiss="modal">取消
					</button>
				</div>
			</div><!-- /.modal-content -->
		</div><!-- /.modal -->
		</div>
</body>
<script type="text/javascript">
var ISFIRSTLOAD = true;
$(function () {
	getProdType();
	getArea();
	//getShop();
	timeCount();
	$('#shopName').selectpicker('selectAll');
	$('#type').selectpicker();
	initDatetimepicker([ "turnCreateDate", "bindCreateDate" ]);
	$(".dropdown-header").click(ddHeaderClick);
	$('#supplierName').on('changed.bs.select',onSupplierSelectChange)
	$('#shopName').on('changed.bs.select',onSelectChange);
    //1.初始化Table
});
function getProdType(){
	$.ajax({
        url: '${contextPath}/ktcount/getProdTypes', //localhost:8080
        type: 'post',
        success: function (data) {
            var orginTypes = data.data;
            var setting = {
                    check: {
                        enable: true,
                        chkStyle: "checkbox",
                    },
                    data: {
                        simpleData: {
                            enable: true,
                            idKey: "TYPE_ID",
                            pIdKey: "PARENT_ID",
                            rootPId: ''
                        },
                        key: {
                            name: "TYPE_NAME"
                        },
                    },
                };
                $.fn.zTree.init($("#typetree"), setting, orginTypes);
                selectedTypes();
                getSupplier();
                oTable.Init();
        },
        error: function (error) {
            alert(error)
        }
    })
}
function getSupplier(){
	$.ajax({
        url: '${contextPath}/ktcount/getSuppliers', //localhost:8080
        data:{"typeId":$("#typeId").val()},
        type: 'post',
        success: function (data) {
           	var data = data.data;
           	var html = "";
        	for(var i = 0;i < data.length;i++){
        		html +='<option value="'+data[i]["ID"]+'">'+data[i]["SUPPLIER_NAME"]+'</option>';
        	}

        	$("#supplierName").html(html);
        	$('#supplierName').selectpicker('refresh');
        	$("#suppliername").val("");
        },
        error: function (error) {
            alert(error)
        }
    })
}
function getArea(){
	$.ajax({
        url: '${contextPath}/ktcount/getAreas', //localhost:8080
        type: 'post',
        success: function (data) {
        	 var orginAreas = data.data;
             var setting = {
                     check: {
                         enable: true,
                         chkStyle: "checkbox",
                     },
                     data: {
                         simpleData: {
                             enable: true,
                             idKey: "ID",
                             pIdKey: "PARENT_ID",
                             rootPId: '',
                             areaCode:"ZONE_CODE"
                         },
                         key: {
                             name: "ZONE_NAME"
                         },
                     },
                 };
                 $.fn.zTree.init($("#areatree"), setting, orginAreas);  
        },
        error: function (error) {
            alert(error)
        }
    })
}
function getShop(){
	$.ajax({
        url: '${contextPath}/ktcount/getShops', //localhost:8080
        data:{"zoneCode":$("#areaCode").val()},
        type: 'post',
        success: function (data) {
           	var data = data.data;
			var dstore = '<optgroup label="直营" data-icon="glyphicon-ok">',nstore = '<optgroup label="加盟" data-icon="glyphicon-ok">';
        	for(var i = 0;i < data.length;i++){
        		if('直营' == data[i]["shopType"]){
        			dstore +='<option value="'+data[i]["shopId"]+'">'+data[i]["shopName"]+'</option>';
        		}
				if('加盟' == data[i]["shopType"]){
					nstore +='<option value="'+data[i]["shopId"]+'">'+data[i]["shopName"]+'</option>';
        		}
        	}
        	dstore += '</optgroup>';
        	nstore += '</optgroup>';
        	$("#shopName").html(dstore+nstore);
        	$('#shopName').selectpicker('refresh');
        	$('#shopName').selectpicker('selectAll');
        },
        error: function (error) {
            alert(error)
        }
    })
}
var TableInit = function () {
    var oTableInit = new Object();
    //初始化Table
    function sumCol(data,colName){
    	var count = 0;
    	for(var i=0;i<data.length;i++){
    		count+= parseFloat(data[i][colName])
    	}
    	return parseFloat(count.toFixed(2));
    }
    function getFieldIndex(fieldName){
    	var orgArr = triggerRemoveJsonEle();
    	for(var i = 0,orgArrLen = orgArr.length;i < orgArrLen;i++){
    		if(fieldName == orgArr[i]["field"]){
    			return i;
    		}
    	}
    }
    function removeJsonEle(OrgArr,filterArr,toFilterField){
    	var newArr = OrgArr;
    	for(j = 0,filterArrLen = filterArr.length;j < filterArrLen;j++){
	    	for(var i = 0,OrgArrLen = OrgArr.length;i < OrgArrLen;i++){
	    		if(OrgArr[i][toFilterField] == filterArr[j]){
	    			newArr = OrgArr.splice(i, 1); 
	    			break;
	    		}
	    	}
    	}
    	return OrgArr;
    }
    function triggerRemoveJsonEle(){
    	var OrgArr =  [{
            field: 'ROWNUM_',
            title: '序号',
            myFooterFormatter:function(data){
            	return "合计";
            }
        },{
            field: 'PRODUCT_NAME',
            title: '商品名称',
        	sortName:"p.PRODUCT_NAME",
        	sortable: true
        },{
            field: 'PRODUCT_CODE',
            title: '商品编号',
        	sortName:"p.PRODUCT_CODE",
        	sortable: true
        },{
            field: 'HEPL_CODE',
            title: '助记码',
        	sortName:"p.HELP_CODE",
        	sortable: true
        }, {
            field: 'TYPE_NAME',
            title: '品类名称',
        	sortName:"t.TYPE_NAME",
        	sortable: true
        }, {
            field: 'SPEC',
            title: '规格',
        	sortName:"p.SPEC",
        	sortable: true
        },  {
            field: 'UNIT',
            title: '单位',
        	sortName:"p.UNIT",
        	sortable: true
        }, {
            field: 'TYPE_BUSI',
            title: '业务类型',
        	sortName:"ttt.TYPE",
        	sortable: true
        },  {
            field: 'IQR',
            title: '进项数量',
        	sortName:"ttt.IQR",
        	sortable: true,
            myFooterFormatter:function(data){
            	var count = 0;
            	count += sumCol(data,"IQR");
            	return this.title+": "+count;
            }
        },  {
            field: 'TIQR',
            title: '进项数量',
        	sortName:"ttt.IQR",
        	sortable: true,
            myFooterFormatter:function(data){
            	var count = 0;
            	count += sumCol(data,"TIQR");
            	return this.title+": "+count;
            }
        }, {
            field: 'OQR',
            title: '出项数量',
        	sortName:"ttt.OQR",
        	sortable: true,
            myFooterFormatter:function(data){
            	var count = 0;
            	count += sumCol(data,"OQR");
            	return this.title+": "+count;
            }
        }, {
            field: 'TOQR',
            title: '出项数量',
        	sortName:"ttt.OQR",
        	sortable: true,
            myFooterFormatter:function(data){
            	var count = 0;
            	count += sumCol(data,"TOQR");
            	return this.title+": "+count;
            }
        },{
            field: 'CST_PRICE',
            title: '进价(元)',
        	sortName:"p.CST_PRICE",
        	sortable: true
        }, {
            field: 'CST_PRICE',
            title: '进价单价金额(元)',
        	sortName:"p.CST_PRICE",
        	sortable: true
        }, {
            field: 'RTL_PRICE',
            title: '售价(元)',
        	sortName:"p.RTL_PRICE",
        	sortable: true
        }, {
            field: 'COST',
            title: '成本金额',
        	sortName:"COST",
        	sortable: true,
            myFooterFormatter:function(data){
            	var count = 0;
            	count += sumCol(data,"COST");
            	return this.title+": "+count;
            }
        }, {
            field: 'VALIDATE_DAY',
            title: '有效日期',
        	sortName:"p.VALIDATE_DAY",
        	sortable: true
        }]
    	var tbType = $("input[name='tbRadio']:checked").val();
    	if(tbType == 0)
    		return removeJsonEle(OrgArr,["TIQR","TOQR"],"field")
    	else
    		return removeJsonEle(OrgArr,["IQR","OQR"],"field")
    }
    oTableInit.Init = function () {
    	if($("#btn_query").hasClass("btn-info")){
    		$("#btn_query").removeClass("btn-info").addClass("btn-default");
		}
        $('#kt_InOut').bootstrapTable({
            url: '${contextPath}/ktcount/getktInOutInfo',         //请求后台的URL（*）
            method: 'POST',                      //请求方式（*）
            toolbar: '#toolbar',                //工具按钮用哪个容器
            striped: true,                      //是否显示行间隔色
            cache: false,                       //是否使用缓存，默认为true，所以一般情况下需要设置一下这个属性（*）
            pagination: true,                   //是否显示分页（*）
            sortable: true,                     //是否启用排序
            sortName:"BRAND_NAME",
            sortOrder: "asc",                   //排序方式
            queryParams: oTableInit.queryParams,//传递参数（*）
            sidePagination: "server",           //分页方式：client客户端分页，server服务端分页（*）
            pageNumber:1,                       //初始化加载第一页，默认第一页
            pageSize: 10000,                       //每页的记录行数（*）
            pageList: [10, 50, 100, 10000],        //可供选择的每页的行数（*）
            strictSearch: true,
            showColumns: true,                  //是否显示所有的列
            minimumCountColumns: 2,             //最少允许的列数
            clickToSelect: true,                //是否启用点击选中行
            height: 500,                        //行高，如果没有设置height属性，表格自动根据记录条数觉得表格高度
            uniqueId: "ID",                     //每一行的唯一标识，一般为主键列
            showToggle:true,                    //是否显示详细视图和列表视图的切换按钮
            cardView: false,                    //是否显示详细视图
            detailView: false,                   //是否显示父子表
            showFooter:true,
            contentType : "application/x-www-form-urlencoded",
            columns: triggerRemoveJsonEle(),
            onLoadSuccess: function(data){
            	$("#btn_query").removeClass("btn-default").addClass("btn-info");
            	ISFIRSTLOAD = false;
            	refreshFooterData(data.rows);
            },
            onColumnSwitch:function(field, checked){
            	var fieldIndex = getFieldIndex(field);
            	toggleFootrowTd(fieldIndex,checked)
            }
        });
    };
    oTableInit.queryParams = function (params) {
    	var shopName = $("#shopName").val() == null ? "\'\'":$("#shopName").val().join(",");
    	var supplierName = $("#suppliername").val();
    	var prodType = $("#typeId").val();
    	var productName = $("#productName").val().trim();
    	var productCode = $("#productCode").val().trim();
    	var type = $("#type").val() == null ? "":$("#type").val().join(",");
    	var helpCode = $("#helpCode").val().trim();
    	var turnCreateDate =$("#turnCreateDate").val();
		var bindCreateDate = $("#bindCreateDate").val();
		$("#sortName").val(params.sort);
    	$("#sortOrder").val(params.order);
    	var filters = [];
    	prodType =="" ? null: filters.push({"fn":"t.TYPE_ID","ft":"in","fv":"("+prodType+")"});
    	type =="" ? null: filters.push({"fn":"ttt.TYPE","ft":"in","fv":"("+type+")"});
    	supplierName == "" ? null: filters.push({"fn":"sp.SUPPLIER_ID","ft":"in","fv":"("+supplierName+")"});
    	shopName.trim() == "" ? null: filters.push({"fn":"z.SHOP_ID","ft":"in","fv":"("+shopName+")"});
    	helpCode == "" ? null: filters.push({"fn":"p.HELP_CODE","ft":"like","fv":"'%"+helpCode+"%'"});
    	productName == "" ? null: filters.push({"fn":"p.PRODUCT_NAME","ft":"like","fv":"'%"+productName+"%'"});
    	productCode == "" ? null: filters.push({"fn":"p.PRODUCT_CODE","ft":"like","fv":"'%"+productCode+"%'"});
    	bindCreateDate == "" ? null : filters.push({"fn":"ttt.STATE_DATE","ft":"<=","fv":"to_date('"+bindCreateDate+"','yyyy-MM-dd hh24:mi:ss')"})
    	turnCreateDate == "" ? null : filters.push( {"fn":"ttt.STATE_DATE","ft":">=","fv":"to_date('"+turnCreateDate+"','yyyy-MM-dd hh24:mi:ss')"})
    	var temp = {   //这里的键的名字和控制器的变量名必须一直，这边改动，控制器也需要改成一样的
            limit: params.limit,   //页面大小
            offset: params.offset,  //页码
            sortName:params.sort,
            orderName:params.order,
            filters:JSON.stringify(filters)
        };
        return temp;
    };
    return oTableInit;
}
function toggleFootrowTd(fieldIndex,checked){
	var td = $(".fixed-table-footer").find("td").get(fieldIndex);
	if(!checked)
		td.style.display = "none";
	else{
		td.style.display = "";
	}
}
function selectAll(){
	var hiddenCols = $('#kt_InOut').bootstrapTable('getHiddenColumns');
	for(var i = 0,hiddenColsLen = hiddenCols.length;i<hiddenColsLen;i++){
		$('#kt_InOut').bootstrapTable('showColumn', hiddenCols[i]["field"]);
		toggleFootrowTd(hiddenCols[i]["fieldIndex"],true)
	}
}
function unSelectAll(){
	var visibleCols = $('#kt_InOut').bootstrapTable('getVisibleColumns');
	for(var i = 1,visibleColsLen = visibleCols.length;i<visibleColsLen;i++){
		$('#kt_InOut').bootstrapTable('hideColumn', visibleCols[i]["field"]);
		toggleFootrowTd(visibleCols[i]["fieldIndex"],false)
	}
}
function refreshFooterData(data){
	var visibleCols = $('#kt_InOut').bootstrapTable('getVisibleColumns');
	var tds = $(".fixed-table-footer").find("td");
	for(i in visibleCols){
		if(visibleCols[i].hasOwnProperty("myFooterFormatter")){
			$(tds.get(visibleCols[i]["fieldIndex"])).find(".th-inner").html(visibleCols[i]["myFooterFormatter"].call(visibleCols[i],data))
		}
	}
}
var oTable = new TableInit();
$("#btn_refresh").bind('click',function(){
	if($("#btn_query").hasClass("btn-default")){
		return;
	}
	$("#btn_query").removeClass("btn-info").addClass("btn-default");
	$("#shopName").selectpicker('selectAll');
	$('#type').selectpicker();
	$("#productName").val("");
	$("#helpCode").val("");
	$("#turnCreateDate").val("");
	$("#bindCreateDate").val("");
	$("#areaCode").val("");
	$("#areaName").val("");
	//$('#zoneCode').treeview('clearSearch');
	$('#kt_InOut').bootstrapTable('refresh', { url: '${contextPath}/ktcount/getktInOutInfo'});
})
$("#btn_query").bind("click",function(){
	if($("#btn_query").hasClass("btn-default")){
		return;
	}
	$("#btn_query").removeClass("btn-info").addClass("btn-default");
	if(ISFIRSTLOAD){
		$("#kt_InOut").bootstrapTable('destroy');
		oTable.Init();
		return;
	}
	$('#kt_InOut').bootstrapTable('refresh', { url: '${contextPath}/ktcount/getktInOutInfo'});
})
$("input[name='typeRadio'],input[name='tbRadio']").change(function(){
	ISFIRSTLOAD = true;
})
$("input[name='dateRadio']").bind("click",function(){
	var radioId = $(this).attr("id");
	var oDateUtil = new DateUtil();
	var jsonDate = {};
	switch(radioId){
	case "dateRadio1":
		jsonDate = oDateUtil.getToday()
		break;
	case "dateRadio2":
		jsonDate = oDateUtil.getYesterday();
		break;
	case "dateRadio3":
		jsonDate = oDateUtil.getThisWeek();
		break;
	case "dateRadio4":
		jsonDate = oDateUtil.getLastWeek();
		break;
	case "dateRadio5":
		jsonDate = oDateUtil.getThisMonth();
		break;
	case "dateRadio6":
		jsonDate = oDateUtil.getLastMonth();
		break;
	case "dateRadio7":
		jsonDate = oDateUtil.getThisQuarter();
		break;
	case "dateRadio8":
		jsonDate = oDateUtil.getLastQuarter();
		break;
	case "dateRadio9":
		jsonDate = oDateUtil.getThisYear();
		break;
	default:
		jsonDate = oDateUtil.init();
		break;
	}
	if(!(jsonDate["o"] == "" || "" == jsonDate["t"])){
		$("#turnCreateDate").val(jsonDate["o"]+" 00:00:00");
		$("#bindCreateDate").val(jsonDate["t"]+" 23:59:59");
	}else{
		$("#turnCreateDate").val(jsonDate["o"]);
		$("#bindCreateDate").val(jsonDate["t"]);
	}
})
var exportExcel = function() {
	var shopName = $("#shopName").val() == null ? "\'\'":$("#shopName").val().join(",");
	$("#shopname").val(shopName);
	var shopIdName = $("[data-id='shopName']").attr("title");
	if(shopIdName.indexOf(",") == -1 && shopIdName!="选择商店名称"){
		$("#shopIdName").val(shopIdName);
	}
	var type = $("#type").val() == null ? "":$("#type").val().join(",");
	$("#ntype").val(type);
    var visibleCols = $('#kt_InOut').bootstrapTable('getVisibleColumns');
    var fields = "",titles = "";
	for(var i = 0,visibleColsLen = visibleCols.length;i<visibleColsLen;i++){
		fields += visibleCols[i]["field"]+",";
		titles += visibleCols[i]["title"]+",";
	}
	$("#colsTitles").val(titles.substring(0,titles.length-1));
	$("#colsFields").val(fields.substring(0,fields.length-1));
	$("#exportExcel").submit();

}

function trans2FormatDate(date){
	date.setDate(date.getDate() - 1);
	return date.getFullYear()+"-"+(date.getMonth()+1)+"-"+date.getDate()
}
function initDatetimepicker(arr) {
	arr.forEach(function(item, index, input) {
		$('#' + item).datetimepicker({
			language : 'zh-CN',
			weekStart : 1,
			todayBtn : 1,
			todayHighlight : 1,
			startView : 3,
			forceParse : 0,
			showMeridian : 1,
			format : "yyyy-mm-dd",
			autoclose : true,
			minView : "month",
			initialDate:trans2FormatDate(new Date())
		}).on('changeDate', function(ev){
		    var idVal = $(this).attr("id");
		    var date = ev.date;
		    if(idVal == "turnCreateDate"){
		    	$("#turnCreateDate").val(date.getFullYear()+"-"+(date.getMonth()+1)+"-"+date.getDate()+" 00:00:00")
		    }else{
		    	$("#bindCreateDate").val(date.getFullYear()+"-"+(date.getMonth()+1)+"-"+date.getDate()+" 23:59:59")
		    }
		});
	})
	$('#turnCreateDate').val(trans2FormatDate(new Date(),false)+" 00:00:00")
	$('#bindCreateDate').val(trans2FormatDate(new Date(),false)+" 23:59:59")
}
function selectedTypes(){
	 $("#typeModal").modal('hide')
    var zTree = $.fn.zTree.getZTreeObj("typetree");
    var nodes = zTree.getCheckedNodes();
    var typeNameVal = "",typeIdVal = "",foreTypeNameVal = "";
    for(var i = 0,nodesLen = nodes.length;i < nodesLen;i++){
   	 if(!nodes[i]["isParent"]){
	    	 typeNameVal += nodes[i]["TYPE_NAME"]+",";
	    	 typeIdVal += nodes[i]["TYPE_ID"]+",";
   	 }
   	 if(nodes[i]["level"] == 0){
   		 foreTypeNameVal += nodes[i]["TYPE_NAME"]+",";
   	 }
    }
    if(nodes.length > 0){
   	 typeNameVal = typeNameVal.substring(0,typeNameVal.length-1);
   	 typeIdVal = typeIdVal.substring(0,typeIdVal.length-1);
   	 foreTypeNameVal = foreTypeNameVal.substring(0,foreTypeNameVal.length-1);
    }
    $("#typeName").val(typeNameVal);
    $("#typeId").val(typeIdVal);
    $("#foreTypeName").val(foreTypeNameVal);
    getSupplier();
}	
function onSupplierSelectChange(e){
	var supplierIds = $("#supplierName").val(),
	supplierId = "";
	if(supplierIds != null){
		for(var i=0;i<supplierIds.length;i++){
			supplierId +="\'"+supplierIds[i]+"\',"
		}
		supplierId = supplierId.substring(0,supplierId.length-1)
	}
	$("#suppliername").val(supplierId)
}
function selectedAreas(){
	 $("#areaModal").modal('hide')
    var zTree = $.fn.zTree.getZTreeObj("areatree");
    var nodes = zTree.getCheckedNodes();
    var areaNameVal = "",areaCodeVal = "";
    for(var i = 0,nodesLen = nodes.length;i < nodesLen;i++){
    	if(!nodes[i]["isParent"]){
		   	 areaNameVal += nodes[i]["ZONE_NAME"]+",";
		   	 areaCodeVal += nodes[i]["ZONE_CODE"]+",";
    	}
    }
    if(nodes.length > 0){
   	 areaNameVal = areaNameVal.substring(0,areaNameVal.length-1);
   	 areaCodeVal = areaCodeVal.substring(0,areaCodeVal.length-1);
    }
    $("#areaName").val(areaNameVal);
    $("#areaCode").val(areaCodeVal);
    getShop();
}
function ddHeaderClick(e){
	var $span = $(this).children("span:first-child");
	var idVal = $(this).parent().parent().next().attr("id");
	var allSelected = $("#"+idVal).val() || [];
	var index = $(this).attr("data-optgroup")-1;
	var $groupOption = $("#"+idVal).find('optgroup').eq(index).find("option");
	$groupOption.each(function(index,element){
		if($span.hasClass("glyphicon-ok")){
			allSelected.remove($(this).val());
		}else{
			allSelected.push($(this).val())
		}
	})
	if($span.hasClass("glyphicon-ok")){
		$span.removeClass("glyphicon-ok")
	}else{
		$span.addClass("glyphicon-ok")
	}
	$("#"+idVal).selectpicker('val',allSelected)
}
function onSelectChange(e){
	var idVal = $(this).attr("id");
	var $ddHeader = $("#"+idVal).prev().find(".dropdown-header");
	var $optgroup = $(this).find("optgroup");
	$optgroup.each(function(index,element){
		var optionLen = $(this).find('option:selected').length;
		var $span = $ddHeader.eq(index).children("span:first-child");
		if(optionLen > 0){
			if(!$span.hasClass("glyphicon-ok")){
				$span.addClass("glyphicon-ok")
			}
		}else{
			if($span.hasClass("glyphicon-ok")){
				$span.removeClass("glyphicon-ok")
			}
		}
	})
}
function doPrint() {
    bdhtml=window.document.body.innerHTML;
    sprnstr="<!--startprint-->";
    eprnstr="<!--endprint-->";
    prnhtml=bdhtml.substr(bdhtml.indexOf(sprnstr)+17);
    prnhtml=prnhtml.substring(0,prnhtml.indexOf(eprnstr));
    window.document.body.innerHTML=prnhtml;
    window.print();
    window.location.reload(); //刷新当前页面
}
function timeCount(){
	var oDateUtil = new DateUtil();
	setInterval(function(){
		var date = new Date();
		var formatDate = oDateUtil.formatDate(date,"yyyy-MM-dd hh:mm:ss",true);
		$("#timeCount").html(formatDate)
	},1000)
}
</script>
</html>